package com.sunxiansheng.exception.response;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;

/**
 * Description: 响应枚举类
 *
 * @Author sun
 * @Create 2024/5/5 15:15
 * @Version 1.0
 */

@Getter
@AllArgsConstructor
@ToString
public enum RespBeanEnum {
    // 通用
    SUCCESS(200, "成功"),
    ERROR(500, "失败"),
    //登录模块
    LOGIN_ERROR(500210, "用户名或者密码错误"),
    MOBILE_ERROR(500211, "手机号码格式不正确"),
    BING_ERROR(500212, "参数绑定异常"),
    MOBILE_NOT_EXIST(500213, "手机号码不存在"),
    PASSWORD_UPDATE_FAIL(500214, "更新密码失败"),

    ;
    //其他模块。。。

    // 响应码和响应信息
    private final Integer code;
    private final String message;

    /**
     * 根据响应码返回相应的枚举对象
     * @param code 响应码
     * @return 对应的枚举对象，如果没有找到则返回 null
     */
    public static RespBeanEnum getByCode(Integer code) {
        for (RespBeanEnum status : values()) {
            if (status.getCode().equals(code)) {
                return status;
            }
        }
        return null;  // 没有找到对应的code时，返回null或者可以选择抛出一个异常
    }

}